package org.dream.ui.chart;

/**
 * X轴模型
 * 
 * @author qiuriyuchen E-mail:panpan_001@126.com
 */
public interface XAxisModel extends AxisModel {
	public String getTickView(int key);

	/**
	 * 得到X轴值长度
	 * 
	 * @returnX轴长度，为最大值减去最小值再加一
	 */
	public int getRangeValue();

	/**
	 * 得到X轴最大值
	 * 
	 * @return X轴最大值
	 */
	public int getMaxValue();

	/**
	 * 得到X轴最小值
	 * 
	 * @return X轴最小值
	 */

	public int getMinValue();

	/**
	 * 根据X坐标轴的值坐标得到对应的像素坐标
	 * 
	 * @param value
	 *            值坐标
	 * @return 像素坐标
	 */
	public int translateValueToPx(double value);

	/**
	 * 根据像素坐标得到值坐标
	 * 
	 * @param screenPixel
	 *            像素坐标
	 * @return 值坐标
	 */

	public double translatePxToValue(int screenPixel);

	public double getTickSpacingPixel();

	/**
	 * 设置X轴的像素长度
	 * 
	 * @param xPixelRange
	 *            X轴的像素长度
	 */

	public int getXPixelRange();

	/**
	 * 得到X轴显示
	 * 
	 * @param key
	 * @return
	 */
	public String getTickDay(int key);

	/**
	 * 缩放X轴
	 * 
	 * @param center
	 *            缩放中心
	 * @param zoom
	 *            缩放比例(0-1)
	 */
	public void zoom(int center, double zoom);

	/**
	 * 右为正数，左为负数，数值为步值
	 * 
	 * @param zoom
	 */
	public void move(double zoom);

	public void setMonthFlag(boolean monthFlag);

	public boolean isOnlyDrawMonth();

}
